package com.xiaoshuidi.cloud.module.contract.controller.admin.fee.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 费项配置 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class FeesBaseVO {

    /**
     * 费项Id
     */
    @Schema(description = "费项Id", required = true)
    @NotNull(message = "费项Id不能为空")
    private Long feeTypeId;

    /**
     * 杂费分类| cycle 周期性费用 | once 一次性费用  |deposit 押金费用 | meter 抄表费用
     */
    @Schema(description = "杂费分类| cycle 周期性费用 | once 一次性费用  |deposit 押金费用 | meter 抄表费用", required = true)
    @NotNull(message = "杂费分类| cycle 周期性费用 | once 一次性费用  | deposit 押金费用 | meter 抄表费用不能为空")
    private String feeSort;

    /**
     * 启用状态 0 未启用 | 1 已启用
     */
    @Schema(description = "启用状态 0 未启用 | 1 已启用", required = true)
    private Integer status = 1;

    /**
     * 单价
     */
    @Schema(description = "单价")
    private BigDecimal price = BigDecimal.ZERO;

    /**
     * 版本号
     */
    @Schema(description = "版本号", required = true)
    private Integer version = 1;

}
